add wayland init logic #67
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
These are the needed files for wayland mode to function properly. In general openbox and labwc format is compatible so this is not strictly needed but stuff like using foot instead of xterm and app by app variables needed for native wayland support vs xwayland it is better to have them in their own files.
This can be tested with:
Zero copy AMD/Intel:
Zero copy Nvidia:
Labwc always shows the decorations on launch, down the line this can be disabled at the DE level but you can right click the bar and disable use system title bars.
Known wayland issues:
This massively increases performance on systems with a GPU and sees a good uptick without one as well due to the nature of the new rendering pipelines, controlling the framebuffer, and being able to manage a dmabuf on an egl device. This translates to native performance as the screen is being rendered exactly like it would if it was plugged into a monitor and the encoding occurs on the card in a minimal memory copy manner. It also means we are not using an unknown path for 3d acceleration under Linux this works just like a real desktop despite it being a virtual framebuffer. So no hacks for zink support or patching of a software framebuffer.
For example here is an N97 running at 80 fps 1080p:
2025-12-20_11-58-47.mp4